热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

原创|手摸手带您学会Elasticsearch单机、集群、插件安装(图文教程)

欢迎关注笔者的公众号:小哈学Java,每日推送Java领域干货文章,关注即免费无套路附送100G海量学习、面试资源哟!!个人网站:https:www.exception.sitee

欢迎关注笔者的公众号: 小哈学Java, 每日推送 Java 领域干货文章,关注即免费无套路附送 100G 海量学习、面试资源哟!!

个人网站: https://www.exception.site/essay/elasticsearch-single-cluster-plugin-install



目录

一、什么是 Elasticsearch

二、Elasticsearch 下载&安装

三、Elasticsearch 安装&查看插件

四、Elasticsearch 本地集群搭建


一、什么是 Elasticsearch

Elasticsearch 是开源的分布式全文搜索引擎,它底层基于 Apache Lucene,具备高伸缩、高可靠、易管理等特点。提供搜索、分析、数据存储三大功能。特点包括分布式、RESTFul 接口、索引自动分片、副本机制、多数据源以及搜索负载等等。

根据 DB-Engines 的排名显示,Elasticsearch 是最受欢迎的企业搜索引擎,其次是Apache Solr,它也是基于Lucene。

今天,小哈就手摸手带着大家学会 Elasticsearch 单机、集群、插件安装步骤,附有丰富的图文哦~



二、Elasticsearch 下载&安装


2.1 安装 Java

在安装 Elasticsearch 之前,您需安装并配置好 JDK, 设置好环境变量 $JAVA_HOME

众所周知,Elasticsearch 版本很多,不同的版本对 Java 的依赖也有所差别:

Elasticsearch 5 需要 Java 8 以上版本;

Elasticsearch 6.5 开始支持 Java 11;

Elasticsearch 7.0 开始,内置了 Java 环境,所以说,安装 7.0+ 版本会方便很多。


2.2 下载 Elasticsearch

访问 Elasticsearch 官网 https://www.elastic.co/cn/downloads/elasticsearch 下载安装包:



笔者这里下载的是 MAC 系统 Elasticsearch V7.1.0 版本作为演示。



2.3 解压

下载成功后,解压到指定目录:

tar -zxvf elasticsearch-7.1.0-darwin-x86_64.tar.gz

进入解压后的目录,结构如下:



2.4 Elasticsearch 目录、配置文件说明、注意点

这里大概解答下各个目录、配置文件的作用:




















































目录配置文件描述
bin放置脚本文件,如启动脚本 elasticsearch, 插件安装脚本等。
configelasticserch.ymlelasticsearch 配置文件,如集群配置、jvm 配置等。
jdkjava 运行环境
datapath.data数据持久化文件
lib依赖的相关类库
logspath.log日志文件
modules包含的所有 ES 模块
plugins包含的所有已安装的插件

注意点:

有些童鞋的机器内存可能不够,就需要修改 JVM 参数,配置文件路径为 config/jvm.options,ES V7.1 版本默认为 1g, 老版本为 2g, 你可以自行修改。

Xmx Xms 数值请设置相同;

Xmx 不要超过机器内存的 50%

内存总量不要超过 30GB, 参见官方文档 https://www.elastic.co/cn/blog/a-heap-of-trouble;


2.5 运行 Elasticsearch

执行启动命令:

bin/elasticsearch


看到启动日志中有 started关键字,就表示启动成功了。

另外,我们还可以通过访问 Elasticsearch 9200端口来实际验证一下:

curl localhost:9200


返回了 Elasticsearch 相关元数据,如版本信息 7.1.0,就明确表示大工告成,可以好好地玩耍了。


之前,小哈还原创过一篇《Docker 快速安装&搭建 Elasticsearch 环境》,其中包含如何通过 Docker 来安装 Elasticsearch, 有兴趣的小伙伴可以看下。



2.6 Elasticsearch 关闭

通过如下命令,找出正在运行的 ES 进程 PID:

ps -ef | grep elasticsearch


执行 kill 命令,即可关闭 Elasticsearch 进程:

kill pid


三、Elasticsearch 安装&查看插件


3.1 查看已安装的插件

在 Elasticsearch 解压包的根目录下,通过如下命令,可以查看当前已安装的插件:

bin/elasticsearch-plugin list


这里由于是第一次安装 Elasticsearch,还没有安装任何插件,所以显示的列表为空。


3.2 安装插件

安装插件命令格式如下:

bin/elasticsearch-plugin install {插件名称}

我们选择国际化分词插件 analysis-icu, 尝试去安装它:

bin/elasticsearch-plugin install analysis-icu


可以看到插件安装成功了。


细心的小伙伴可能看到,控制台日志中有警告⚠️信息,这个会有影响么?

答案是: 不影响

小哈特意去 Elasticsearch GitHub issues 看了一下:



接下来,再通过 bin/elasticsearch-plugin list命令就可以看到 analysis-icu插件已经显示在列表中了:


除了上面这种方式外,还可以通过如下接口来查看:

GET /_cat/plugins

如图所示:



拓展:Elasticsearch 提供插件的机制,允许开发者对系统进行拓展。比如,通过插件的机制,来增加安全权限的管控,可参考开源的 ES 插件 Search Guard.



四、Elasticsearch 本地集群搭建

我们将演示,如何在本机上搭建一个多节点的 Elasticsearch 集群。

这个集群中会有 4 个节点,分别是 node0node1node2node3

启动命令如下:

bin/elasticsearch -E node.name=node0 -E cluster.name=xiaoha-cluster -E path.data=node0_data -d

bin/elasticsearch -E node.name=node1 -E cluster.name=xiaoha-cluster -E path.data=node1_data -d

bin/elasticsearch -E node.name=node2 -E cluster.name=xiaoha-cluster -E path.data=node2_data -d

bin/elasticsearch -E node.name=node3 -E cluster.name=xiaoha-cluster -E path.data=node3_data -d

小伙伴们可能会说:启动命令后面的参数都是啥意思?

看图:


启动成功后,我们可以通过 /_cat/nodes API 来查看集群节点信息:

GET /_cat/nodes


注意: 执行命令后,不要立即验证节点是否启动成功,因为启动成功需要花费一些时长,稍等片刻,就能看到被成功启动的节点了。


接下来,通过 CURL 命令来查看一下节点信息:

curl localhost:9200/_cat/nodes


可以看到,一共 4 个节点,是 OK 的,另外,我们也可以通过 HEAD 插件来查看:


至此,一个 4 节点的 Elasticsearch 集群的本地环境搭建完毕。



五、结语

本文中,小哈手摸手带着大家学会了 Elasticsearch 单机、集群、插件的安装,希望小伙伴们看完后,有所收获,下期见哦~


欢迎关注微信公众号: 小哈学Java

关注笔者的微信公众号: 小哈学Java, 每日第一时间推送干货文章, 另外, 笔者个人吐血整理了 100G 的学习资料, 关注回复「666」即可免费无套路领取哟~



原创 | 手摸手带您学会 Elasticsearch 单机、集群、插件安装(图文教程)的相关教程结束。



推荐阅读
  • 本文档提供了详细的MySQL安装步骤,包括解压安装文件、选择安装类型、配置MySQL服务以及设置管理员密码等关键环节,帮助用户顺利完成MySQL的安装。 ... [详细]
  • Nagios可视化插件开发指南 —— 配置详解
    本文详细介绍了Nagios监控系统的配置过程,包括数据库的选择与安装、Nagios插件的安装及配置文件的解析。同时,针对常见的配置错误提供了具体的解决方法。 ... [详细]
  • 本文档提供了首次周测的答案解析,涵盖特殊符号、命令作用、路径说明以及实战练习等内容。 ... [详细]
  • 华为云openEuler环境下的Web应用部署实践
    本文详细记录了在华为云openEuler系统上进行Web应用部署的具体步骤,包括配置yum源、安装Apache、MariaDB、PHP及其相关组件,并完成WordPress的安装与配置过程。 ... [详细]
  • 在Linux系统中使用EncFS实现文件夹加密
    为了保护个人隐私或敏感数据不被未经授权的访问,可以通过加密技术来增强安全性。本文介绍如何在Linux系统上使用EncFS工具创建和管理加密文件夹,以确保即使在系统登录状态下,特定文件夹中的数据也保持加密状态。 ... [详细]
  • 万事起于配置开发环境
    万事起于配置开发环境 ... [详细]
  • Cadence SPB 16.5 安装指南与注意事项
    本文提供了详细的 Cadence SPB 16.5 安装步骤,包括环境配置、安装过程中的关键步骤以及常见问题的解决方案。适合初次安装或遇到问题的技术人员参考。 ... [详细]
  • 本文介绍了如何使用Workman框架构建一个功能全面的即时通讯系统,该系统不仅支持一对一聊天、群组聊天,还集成了视频会议和实时音视频通话功能,同时提供了红包发送等附加功能。 ... [详细]
  • 本文介绍了在解决Hive表中复杂数据结构平铺化问题后,如何通过创建视图来准确计算广告日志的曝光PV,特别是针对用户对应多个标签的情况。同时,详细探讨了UDF的使用方法及其在实际项目中的应用。 ... [详细]
  • 本文探讨了一个在Spring项目中常见的问题——当pom.xml文件中引入了servlet依赖但未指定其作用域为provided时导致的应用启动失败。文章详细分析了错误原因,并提供了有效的解决方案。 ... [详细]
  • 如何更换Anaconda和pip的国内镜像源
    本文详细介绍了如何通过国内多个知名镜像站(如北京外国语大学、中国科学技术大学、阿里巴巴等)更换Anaconda和pip的源,以提高软件包的下载速度和安装效率。 ... [详细]
  • 本文详细介绍了在 Windows 7 上安装和配置 PHP 5.4 的 Memcached 分布式缓存系统的方法,旨在减少数据库的频繁访问,提高应用程序的响应速度。 ... [详细]
  • 本文详细介绍了如何在 EasyUI 框架中实现 DataGrid 组件的分页功能,包括配置方法和常见问题的解决方案。 ... [详细]
  • 页面预渲染适用于主要包含静态内容的页面。对于依赖大量API调用的动态页面,建议采用SSR(服务器端渲染),如Nuxt等框架。更多优化策略可参见:https://github.com/HaoChuan9421/vue-cli3-optimization ... [详细]
  • Hadoop MapReduce 实战案例:手机流量使用统计分析
    本文通过一个具体的Hadoop MapReduce案例,详细介绍了如何利用MapReduce框架来统计和分析手机用户的流量使用情况,包括上行和下行流量的计算以及总流量的汇总。 ... [详细]
author-avatar
dongmyee
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有